package 框架学习.SpringBoot.应用.请求响应.概述;

public class index {
    public static void main(String[] args) {
        //之前写的springboot入门程序（springBoot_web_quickStart项目）
        //浏览器地址栏中输入后，浏览器向服务器发出请求
        //controller（请求处理类）收到请求后，发送响应给服务器
        //而客户端浏览器在和服务器进行数据传输的时候，是基于HTTP协议的

        //而之前编写的controller，仅仅是一个简单的java类
        //它没有实现任何接口，也没有继承任何类
        //这个程序，Tomcat是不识别的，也不能够直接运行

        //虽然Tomcat不识别我们写的java类
        //但它识别一项JavaEE中规范的技术：servlet
        //而我们基于springboot开发的入门程序中
        //springboot底层给我们提供了一个非常核心的servlet程序：DispatcherServlet
        //这个DispatcherServlet就实现了servlet规范中的servlet接口

        //浏览器发出的请求，就会先经过DispatcherServlet
        //然后DispatcherServlet就会把请求发送到各个controller
        //然后controller就会把处理完的结果返回给DispatcherServlet
        //然后DispatcherServlet就会给浏览器发出响应

        //由此可见，DispatcherServlet这个类在springboot中是特别核心的一个类
        //我们把它叫做：核心控制器  或  前端控制器



        //如何在servlet程序中获取请求的数据：

        //前端浏览器发起请求，会携带HTTP的请求数据
        //Tomcat服务器就会接收并解析这些请求数据
        //然后就会把这些数据封装成一个对象：HttpServletRequest对象（请求对象）
        //这样一来，我们的应用程序就可以从这个HttpServletRequest对象中获取请求数据，然后再对这个请求进行处理

        //如何响应数据：
        //在servlet程序中，我们可以借助于HttpServletResponse对象（响应对象）设置响应信息
        //Tomcat就会根据我们在HttpServletResponse对象中设置的响应信息来响应数据给浏览器

        //这种浏览器和服务器的架构，我们称作BS架构
        //BS架构: Browser/Server，浏览器/服务器架构模式。客户端只需要浏览器，应用程序的逻辑和数据都存储在服务端
        //我们要访问这一类的应用，就只需要在浏览器地址栏输入地址就可以访问
        //只要能用浏览器用地址访问到的网站，都是BS架构


        //与其相对的是CS架构
        //CS架构: Client/Server，客户端/服务器架构模式
        //这种架构模式，需要下载客户端

        //在编写程序时，要重点关注的，就是controller控制器程序
        //在这个controller中最重要的就是获取请求参数和设置响应信息
    }
}
